package com.yt.user.server.service;

import com.yt.user.models.dto.LoginDTO;
import com.yt.user.models.dto.RegisterDTO;
import com.yt.user.models.dto.ResetPasswordDTO;
import com.yt.user.models.dto.UserInfoDTO;
import com.yt.user.models.entity.User;
import com.yt.user.models.vo.LoginVO;

public interface UserService {
    
    /**
     * 用户注册
     * @param registerDTO 注册信息
     * @return 是否注册成功
     */
    boolean register(RegisterDTO registerDTO);
    
    /**
     * 用户登录
     * @param loginDTO 登录信息
     * @return 登录结果
     */
    LoginVO login(LoginDTO loginDTO);
    
    /**
     * 重置密码
     * @param resetPasswordDTO 重置密码信息
     * @return 是否重置成功
     */
    boolean resetPassword(ResetPasswordDTO resetPasswordDTO);
    
    /**
     * 根据账号查询用户
     * @param account 账号
     * @return 用户信息
     */
    User getUserByAccount(String account);
    
    /**
     * 保存用户信息
     * @param userInfoDTO 用户信息
     * @return 是否保存成功
     */
    boolean saveUserInfo(UserInfoDTO userInfoDTO);
}